<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN"><link href="stylesheet.css" media="all" rel="stylesheet" type="text/css">
<title>pg_class</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head><body class="SECT1">
<div>
<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><th colspan="5" align="center" valign="bottom">PostgreSQL 8.2.3 中文文档</th></tr>
<tr><td width="10%" align="left" valign="top"><a href="catalog-pg-cast.html" accesskey="P">后退</a></td><td width="10%" align="left" valign="top"><a href="catalogs.html">快退</a></td><td width="60%" align="center" valign="bottom">章43. 系统表</td><td width="10%" align="right" valign="top"><a href="catalogs.html">快进</a></td><td width="10%" align="right" valign="top"><a href="catalog-pg-constraint.html" accesskey="N">前进</a></td></tr>
</table>
<hr align="LEFT" width="100%"></div>
<div class="SECT1"><h1 class="SECT1"><a name="CATALOG-PG-CLASS">43.12. <tt class="STRUCTNAME">pg_class</tt></a></h1><a name="AEN62790"></a>
<p><tt class="STRUCTNAME">pg_class</tt> 表记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅 <tt class="STRUCTNAME">pg_index</tt>)、序列、视图、复合类型和一些特殊关系类型；参阅 <tt class="STRUCTFIELD">relkind</tt> 。在下面，当指所有这些对象的时候说"关系"(relations)。不是所有字段对所有关系类型都有意义。</p>
<div class="TABLE"><a name="AEN62797"></a>
<p><b>表43-12. <tt class="STRUCTNAME">pg_class</tt> 字段</b></p>
<table border="1" class="CALSTABLE"><col><col><col><col>
<thead>
<tr><th>名字</th><th>类型</th><th>引用</th><th>描述</th></tr>
</thead>
<tbody>
<tr><td><tt class="STRUCTFIELD">relname</tt></td><td><tt class="TYPE">name</tt></td><td>&nbsp;</td><td>表、索引、视图等的名字。</td></tr>
<tr><td><tt class="STRUCTFIELD">relnamespace</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-namespace.html"><tt class="STRUCTNAME">pg_namespace</tt></a>.oid</tt></td><td>包含这个关系的名字空间(模式)的 OID</td></tr>
<tr><td><tt class="STRUCTFIELD">reltype</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-type.html"><tt class="STRUCTNAME">pg_type</tt></a>.oid</tt></td><td>对应这个表的行类型的数据类型(索引为零，它们没有 <tt class="STRUCTNAME">pg_type</tt> 记录)。</td></tr>
<tr><td><tt class="STRUCTFIELD">relowner</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-authid.html"><tt class="STRUCTNAME">pg_authid</tt></a>.oid</tt></td><td>关系所有者</td></tr>
<tr><td><tt class="STRUCTFIELD">relam</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-am.html"><tt class="STRUCTNAME">pg_am</tt></a>.oid</tt></td><td>如果行是索引，那么就是所用的访问模式(B-tree, hash 等等)</td></tr>
<tr><td><tt class="STRUCTFIELD">relfilenode</tt></td><td><tt class="TYPE">oid</tt></td><td>&nbsp;</td><td>这个关系在磁盘上的文件的名字，如果没有则为 0</td></tr>
<tr><td><tt class="STRUCTFIELD">reltablespace</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-tablespace.html"><tt class="STRUCTNAME">pg_tablespace</tt></a>.oid</tt></td><td>这个关系存储所在的表空间。如果为零，则意味着使用该数据库的缺省表空间。如果关系在磁盘上没有文件，则这个字段没有什么意义。</td></tr>
<tr><td><tt class="STRUCTFIELD">relpages</tt></td><td><tt class="TYPE">int4</tt></td><td>&nbsp;</td><td>以页(大小为 <tt class="SYMBOL">BLCKSZ</tt>)的此表在磁盘上的形式的大小。它只是规划器用的一个近似值，是由 <tt class="COMMAND">VACUUM</tt>, <tt class="COMMAND">ANALYZE</tt> 和几个 DDL 命令，比如 <tt class="COMMAND">CREATE INDEX</tt> 更新。</td></tr>
<tr><td><tt class="STRUCTFIELD">reltuples</tt></td><td><tt class="TYPE">float4</tt></td><td>&nbsp;</td><td>表中行的数目。只是规划器使用的一个估计值，由 <tt class="COMMAND">VACUUM</tt>, <tt class="COMMAND">ANALYZE</tt> 和几个 DDL 命令，比如 <tt class="COMMAND">CREATE INDEX</tt> 更新。</td></tr>
<tr><td><tt class="STRUCTFIELD">reltoastrelid</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-class.html"><tt class="STRUCTNAME">pg_class</tt></a>.oid</tt></td><td>与此表关联的 TOAST 表的 OID ，如果没有为 0 。TOAST 表在一个从属表里"离线"存储大字段。</td></tr>
<tr><td><tt class="STRUCTFIELD">reltoastidxid</tt></td><td><tt class="TYPE">oid</tt></td><td><tt class="LITERAL"><a href="catalog-pg-class.html"><tt class="STRUCTNAME">pg_class</tt></a>.oid</tt></td><td>对于 TOAST 表是它的索引的 OID ，如果不是 TOAST 表则为 0</td></tr>
<tr><td><tt class="STRUCTFIELD">relhasindex</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如果它是一个表而且至少有(或者最近有过)一个索引，则为真。它是由 <tt class="COMMAND">CREATE INDEX</tt> 设置的，但 <tt class="COMMAND">DROP INDEX</tt> 不会立即将它清除。如果 <tt class="COMMAND">VACUUM</tt> 现一个表没有索引，那么它将清理 <tt class="STRUCTFIELD">relhasindex</tt> 。</td></tr>
<tr><td><tt class="STRUCTFIELD">relisshared</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如果该表在整个集群中由所有数据库共享则为真。只有某些系统表(比如 <tt class="STRUCTNAME">pg_database</tt>)是共享的。</td></tr>
<tr><td><tt class="STRUCTFIELD">relkind</tt></td><td><tt class="TYPE">char</tt></td><td>&nbsp;</td><td><tt class="LITERAL">r</tt> = 普通表， <tt class="LITERAL">i</tt> = 索引， <tt class="LITERAL">S</tt> = 序列， <tt class="LITERAL">v</tt> = 视图， <tt class="LITERAL">c</tt> = 复合类型， <tt class="LITERAL">t</tt> = TOAST 表</td></tr>
<tr><td><tt class="STRUCTFIELD">relnatts</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>关系中用户字段数目(除了系统字段以外)。在 <tt class="STRUCTNAME">pg_attribute</tt> 里肯定有相同数目对应行。又见 <tt class="LITERAL">pg_attribute.attnum</tt></td></tr>
<tr><td><tt class="STRUCTFIELD">relchecks</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>表里的检查约束的数目；参阅 <a href="catalog-pg-constraint.html"><tt class="STRUCTNAME">pg_constraint</tt></a> 表</td></tr>
<tr><td><tt class="STRUCTFIELD">reltriggers</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>表里的触发器的数目；参阅 <a href="catalog-pg-trigger.html"><tt class="STRUCTNAME">pg_trigger</tt></a> 表</td></tr>
<tr><td><tt class="STRUCTFIELD">relukeys</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>未使用(<span class="emphasis"><i class="EMPHASIS">不是</i></span>唯一值的数目)</td></tr>
<tr><td><tt class="STRUCTFIELD">relfkeys</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>未使用(<span class="emphasis"><i class="EMPHASIS">不是</i></span>表中外键的数目)</td></tr>
<tr><td><tt class="STRUCTFIELD">relrefs</tt></td><td><tt class="TYPE">int2</tt></td><td>&nbsp;</td><td>未使用</td></tr>
<tr><td><tt class="STRUCTFIELD">relhasoids</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如果为关系中每行都生成一个 OID 则为真</td></tr>
<tr><td><tt class="STRUCTFIELD">relhaspkey</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如果这个表有一个(或者曾经有一个)主键，则为真。</td></tr>
<tr><td><tt class="STRUCTFIELD">relhasrules</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如表有规则就为真；参阅 <a href="catalog-pg-rewrite.html"><tt class="STRUCTNAME">pg_rewrite</tt></a> 表</td></tr>
<tr><td><tt class="STRUCTFIELD">relhassubclass</tt></td><td><tt class="TYPE">bool</tt></td><td>&nbsp;</td><td>如果有(或者曾经有)任何继承的子表，为真。</td></tr>
<tr><td><tt class="STRUCTFIELD">relfrozenxid</tt></td><td><tt class="TYPE">xid</tt></td><td>&nbsp;</td><td>该表中所有在这个之前的事务 ID 已经被一个固定的("frozen")事务 ID 替换。这用于跟踪该表是否需要为了防止事务 ID 重叠或者允许收缩 <tt class="LITERAL">pg_clog</tt> 而进行清理。如果该关系不是表则为零(<tt class="SYMBOL">InvalidTransactionId</tt>)。</td></tr>
<tr><td><tt class="STRUCTFIELD">relacl</tt></td><td><tt class="TYPE">aclitem[]</tt></td><td>&nbsp;</td><td>访问权限。参阅 <a href="sql-grant.html"><i>GRANT</i></a> 和 <a href="sql-revoke.html"><i>REVOKE</i></a> 获取详细信息。</td></tr>
<tr><td><tt class="STRUCTFIELD">reloptions</tt></td><td><tt class="TYPE">text[]</tt></td><td>&nbsp;</td><td>访问方法特定的选项，使用"keyword=value"格式的字符串</td></tr>
</tbody>
</table>
</div>
</div>
<div>
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="33%" align="left" valign="top"><a href="catalog-pg-cast.html" accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">首页</a></td><td width="33%" align="right" valign="top"><a href="catalog-pg-constraint.html" accesskey="N">前进</a></td></tr>
<tr><td width="33%" align="left" valign="top"><tt class="STRUCTNAME">pg_cast</tt></td><td width="34%" align="center" valign="top"><a href="catalogs.html" accesskey="U">上一级</a></td><td width="33%" align="right" valign="top"><tt class="STRUCTNAME">pg_constraint</tt></td></tr>
</table>
</div>
</body></html>